Skip to content

Conversation

@pumbaEO
Copy link
Contributor

@pumbaEO pumbaEO commented Nov 9, 2017

Определяем мин количество коммитов между разницей версии уже в git и в хранилище для случаев, когда пересоздали хранилище и в гите находится версия 1234, а в хранилище 4, тогда вызываем исключение если разница в коммитах больше чем на 10 версий.

Т.к. синхронизация пойдет дальше только тогда, когда сами заметят или же версия в новом хранилище будет больше чем 1234

Определяем мин количество коммитов между разницей версии уже в git и в хранилище для случаев, когда пересоздали хранилище и в гите находится версия 1234, а в хранилище 4,  тогда вызываем исключение если разница в коммитах больше чем на  10 версий.

Т.к. синхронизация пойдет дальше только тогда, когда сами заметят или же версия в новом хранилище будет больше чем 1234
Copy link
Member

@artbear artbear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Идея интересная, но при использовании такой реализации будут проблемы:

  • нет возможности управления этой фичей
  • при обрезании хранилища существующий репозиторий Гит вообще невозможно будет синхронизировать, т.к. гитсинк будет постоянно выдавать ошибку
    • и без изменения кода гитсинка ничего сделать нельзя

Предлагаю

  • или добавить очередной ключ :(
  • или переработать идею

@pumbaEO
Copy link
Contributor Author

pumbaEO commented Nov 12, 2017

нет возможности управления этой фичей

а зачем управление, если это страховка и предупреждение. Какие могут быть ситуации, когда у нас версия в файле VERSIONS - является больше чем версия в хранилище и это правильно? Именно больше и не равно?

  1. Это указали неправильное хранилище.
  2. Это пересоздали хранилище и теперь синхронизации не будет происходить и никто об этом не узнает, т.к. версия в Versions больше в хранилище и пока они не сравняютса, гитсинк будет счастливо завершаться, т.к. ему ничего не надо делать.

при обрезании хранилища существующий репозиторий Гит вообще невозможно будет синхронизировать, т.к. гитсинк будет постоянно выдавать ошибку

при обрезании хранилища, вообще ничего не будет происходить, тупо возвращаться с кодом возврата 0. Управление тут простое - ошибка, или же меняем вручную файл Versions, причем заметь, даже в текущем варианте, нам необходимо менять файл вручную, если обрезали хранилище.

Имхо, как страховка идея и реализация норм, единиственное, что добавил бы это более информативное сообщение типа Лог.Предупрждение("Возможно обрезали хранилище, измените файл Versions и исправьте %1 на правильную версию равную <= версии в хранилище %2, ВерсияВерсион, ВерсияХранилища);

@artbear
Copy link
Member

artbear commented Nov 12, 2017

С таким пояснением согласен.

Добавишь предупреждение?

Предлагаю
Лог.Предупреждение("Несоответствие версий хранилища 1С и версию в репозитории Git. |Возможно, сократили/обрезали хранилище. |Для продолжения синхронизации измените файл VERSIONS в корне репозитория Git, |Исправьте версию %1 на правильную версию <= версии в хранилище %2", ВерсияТекущая??, ВерсияХранилища??);

@pumbaEO
Copy link
Contributor Author

pumbaEO commented Nov 13, 2017

Исправил, но только не Предупреждении, а Ошибку вывожу, все равно же будет дальше исключение показываться.

@artbear artbear merged commit b4c78bb into oscript-library:develop Nov 13, 2017
@artbear artbear added this to the 2.3.0 milestone Nov 13, 2017
@artbear artbear self-assigned this Nov 13, 2017
@artbear artbear modified the milestones: 2.3.0, 2.4.0 Nov 17, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants